/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ChatGUI;



import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


/**
 *Fenêtre de déconnexion
 * @author Marion et Nicolas
 */
public class DisconnectWindow extends JFrame implements ActionListener {


private ChatGUI gui;
// Objets utilises pour la fenêtre disconnect
private JLabel labelLogin = new JLabel("Type your username : ");  
private JLabel labelErreur = new JLabel("You didn't type any username !");
private JTextField textLogin = new JTextField();
private JButton connect = new JButton("Connect");

/**
 * Création d'une fenêtre de déconnexion
 * @param etat
 * @param g 
 */


protected DisconnectWindow(String etat,ChatGUI g){
       this.gui=g;
       etatDisconnect(etat);
       textLogin.addActionListener(this);   //On ajoute les ecouteurs sur les objets
       connect.addActionListener(this);
}

/**
 * Fenêtre principale
 * @param etat 
 */
 private void etatDisconnect(String etat) {
     this.setSize(300,500);
     this.setTitle("Welcome here !!!");
              
     if (etat.equals("ERREUR")) {
         labelErreur.setForeground(Color.red);
         labelErreur.setBounds(60,230,200,50);
     }

     setContentPane(new DisplayPicture("1")); 
     getContentPane().setLayout(new BorderLayout()); 

     labelLogin.setBounds(20,285,300,20);
     textLogin.setBounds(155,285,100,20);
     connect.setBounds(80,340,130,40);
     
     this.setLayout(null);                      // Obligé d'avoir un Layout null si on utilise les setBounds
     this.setLocationRelativeTo(null);          // Fenêtre centré autour de l'écran
     this.add(labelLogin);                       
     this.add(textLogin);                         
     this.add(connect);
     
     if (etat.equals("ERREUR"))
         this.add(labelErreur);
     
     this.setVisible(true);                       
     
     if (etat.equals("FERMETURE"))
         this.setVisible(false);

     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 

    
 
  /**
      * Méthode appartenant à l'interface ActionListener
      * Effectue différentes actions à l'arrivée de différents évènements
      * @param e 
      */
 
@Override
    public void actionPerformed(ActionEvent e) {

		if(e.getSource() == textLogin) {
                        e.setSource(connect);                // Se déclenche quand on tape Entrez
		}
                
                if(e.getSource() == connect) {
                    if("".equals(textLogin.getText())){
                        etatDisconnect("FERMETURE");
                        new DisconnectWindow("ERREUR",gui);       // On utilise le constructeur pour avoir les actionListeners
                    }
                    else {
                        gui.logLocal = textLogin.getText();       // On met à jour le login de l'utilisateur
                        gui.performConnect(ChatGUI.logLocal); 
                        etatDisconnect("FERMETURE");
                    }
                }
    }

}

